package escritorio.Ui;

import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.WindowConstants;
import javax.swing.border.EmptyBorder;
import javax.swing.border.BevelBorder;
import javax.swing.JButton;

import escritorio.conn.PessoaDao;
import escritorio.conn.PessoaPFDao;
import escritorio.javaBeans.Pessoa;
import escritorio.javaBeans.PessoaFisica;

import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.GridLayout;

public class ClientePFFrm extends JFrame {

	private JPanel contentPane;
	private JTextField txtNomePF;
	private JTextField txtEnderecoPF;
	private JTextField txtTelefonePF;
	private JTextField txtCepPF;
	private JTextField txtBairroPF;
	private JTextField txtCidadePF;
	private JTextField txtEstadoPF;
	private JTextField txtCPF;
	private JTextField txtRG;

	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			@Override
			public void run() {
				try {
					ClientePFFrm frame = new ClientePFFrm();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the frame.
	 */
	public ClientePFFrm() {
		setTitle("Cadastro pessoa f\u00EDsica");
		setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
		setBounds(100, 100, 366, 357);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		contentPane.setLayout(new BorderLayout(0, 0));
		setContentPane(contentPane);
		
		JPanel panelTxt = new JPanel();
		panelTxt.setBorder(new BevelBorder(BevelBorder.RAISED, null, null, null, null));
		contentPane.add(panelTxt, BorderLayout.CENTER);
		panelTxt.setLayout(new GridLayout(0, 3, 0, 0));
		JLabel label = new JLabel("Nome :");
		panelTxt.add(label);

		txtNomePF = new JTextField();
		txtNomePF.setColumns(45);
		panelTxt.add(txtNomePF);
		
		JButton btnIncluir = new JButton("Incluir");
		btnIncluir.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				adicionaPF();
				limpaCampos();
			}
		});
		panelTxt.add(btnIncluir);

		JLabel label_1 = new JLabel("Endere\u00E7o :");
		panelTxt.add(label_1);

		txtEnderecoPF = new JTextField();
		txtEnderecoPF.setColumns(45);
		panelTxt.add(txtEnderecoPF);
		
		JLabel label_7 = new JLabel("");
		panelTxt.add(label_7);

		JLabel label_2 = new JLabel("Telefone :");
		panelTxt.add(label_2);

		txtTelefonePF = new JTextField();
		txtTelefonePF.setColumns(18);
		panelTxt.add(txtTelefonePF);
		
		JButton btnEditar = new JButton("Editar");
		panelTxt.add(btnEditar);

		JLabel label_3 = new JLabel("Cep :");
		panelTxt.add(label_3);

		txtCepPF = new JTextField();
		txtCepPF.setColumns(8);
		panelTxt.add(txtCepPF);
		
		JButton btnConsultar = new JButton("Consultar");
		panelTxt.add(btnConsultar);

		JLabel label_4 = new JLabel("Bairro :");
		panelTxt.add(label_4);

		txtBairroPF = new JTextField();
		txtBairroPF.setColumns(45);
		panelTxt.add(txtBairroPF);
		
		JLabel label_8 = new JLabel("");
		panelTxt.add(label_8);

		JLabel label_5 = new JLabel("Cidade :");
		panelTxt.add(label_5);

		txtCidadePF = new JTextField();
		txtCidadePF.setColumns(45);
		panelTxt.add(txtCidadePF);
		
		JButton btnSair = new JButton("Sair");
		btnSair.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent arg0) {
				dispose();
			}
		});
		panelTxt.add(btnSair);

		JLabel label_6 = new JLabel("Estado :");
		panelTxt.add(label_6);

		txtEstadoPF = new JTextField();
		txtEstadoPF.setColumns(10);
		panelTxt.add(txtEstadoPF);
		
		JLabel label_9 = new JLabel("");
		panelTxt.add(label_9);

		JLabel lblCnpj = new JLabel("CPF :");
		panelTxt.add(lblCnpj);

		txtCPF = new JTextField();
		txtCPF.setColumns(11);
		panelTxt.add(txtCPF);
		
		JLabel label_10 = new JLabel("");
		panelTxt.add(label_10);

		JLabel lblRg = new JLabel("RG :");
		panelTxt.add(lblRg);

		txtRG = new JTextField();
		txtRG.setColumns(10);
		panelTxt.add(txtRG);
		
		JLabel label_11 = new JLabel("");
		panelTxt.add(label_11);
	}
	
	protected void limpaCampos() {
		txtNomePF.setText(null);
		txtEnderecoPF.setText(null);
		txtTelefonePF.setText(null);
		txtCepPF.setText(null);
		txtBairroPF.setText(null);
		txtCidadePF.setText(null);
		txtEstadoPF.setText(null);
		txtCPF.setText(null);
		txtRG.setText(null);
		
	}

	protected void adicionaPF() {
		Pessoa pessoa = new Pessoa();
		PessoaFisica pessoaPF =  new PessoaFisica();
		PessoaDao dao = new PessoaDao(); 
		PessoaPFDao daopf = new PessoaPFDao();
		
		pessoa.setNome(txtNomePF.getText());
		pessoa.setEndereco(txtEnderecoPF.getText());
		pessoa.setTelefone(txtTelefonePF.getText());
		pessoa.setCep(txtCepPF.getText());
		pessoa.setBairro(txtBairroPF.getText());
		pessoa.setCidade(txtCidadePF.getText());
		pessoa.setEstado(txtEstadoPF.getText());
		pessoaPF.setCpf(txtCPF.getText());
		pessoaPF.setRG(txtRG.getText());
		
		dao.adiciona(pessoa);
		daopf.inserePF(pessoaPF);

		System.out.println("Gravado!");

	}
}
